home *** CD-ROM | disk | FTP | other *** search
- load utime
-
- on ^set "nopaste on" {
- @ nopaste.on = 1
- setup_nopaste
- xecho -b NOPASTE set to on
- }
-
- on ^set "nopaste off" {
- @ nopaste.on = 0
- remove_nopaste
- xecho -b NOPASTE set to off
- }
-
- alias setup_nopaste
- {
- @ nopaste.last = utime()
- @ nopaste.counter = 0
- on ?input * {
- if ([$[1]*] == [/]) {
- return 0
- }
- if ((:nc = strlen($*)) == 0) {
- return 0
- }
- @ :td = utime_sub($utime() $nopaste.last)
- @ :sec = word(0 $td)
- @ :usec = (sec * 1000000) + word(1 $td)
- @ nopaste.last = utime()
-
- @ :us = ((100000 - usec) / nc)
- @ nopaste.counter += us
- if (nopaste.counter < 0) {
- @ nopaste.counter = 0
- }
- if (nopaste.counter > 2500) {
- parsekey erase_line
- return 1
- } {
- return 0
- }
- }
- }
-
- alias remove_nopaste
- {
- on input -*
- }
-
-